1. Field of the Invention
The present invention relates to the field of printing and in particular, to systems and methods for managing memory on print devices.
2. Description of Related Art
In order to facilitate faster printing of images and/or other objects that are re-used in a document being printed, such objects may be cached in a cache memory. When cached objects are referenced by other (cached and non-cached) objects, the referenced object may be quickly accessed for further processing. Optimally managing cache memory utilization permits quicker access to referenced objects, while ensuring that memory and other resources consumed by unused objects are freed in a timely manner.
One mechanism to manage cached objects in computer systems is termed reference counting. In reference counting, the number of external references (“the reference count”) to a resource such as a cached object may be determined and the reference count may be associated with the resource or object. When the reference count indicates that an object is no longer referenced, the object or resource may be removed from the cache. Typically, deallocation occurs when the reference count falls to zero indicating that the object is not referenced by any other object, effectively rendering the object inaccessible. In traditional methods of reference counting, the reference count is incremented by one when the object or resource is newly referenced and is decremented by one when an existing reference to the object or resource is destroyed or overwritten.
However, in printing environments, where, memory size, memory speeds, cache size, processor speed, and other system parameters can vary greatly between printers, such traditional mechanisms limit cache management flexibility. Therefore, there is a need for systems and methods for memory management on printing devices that afford greater flexibility in cache optimization techniques.